#ifndef CAMERA_H
#define CAMERA_H

#include "ponto.h"
#include "../util/operacoes.h"

class Camera
{
private:
    Ponto u;
    Ponto v;
    Ponto n;

    Ponto c;

    float d;
    float hX;
    float hY;

    int k; //fator que determina a velocidade de deslocamento da camera

public:
    Camera(Ponto n, Ponto v, Ponto c, float d, float hX, float hY);
    ~Camera();

    Ponto getN();
    Ponto getV();
    Ponto getU();
    Ponto getC();
    float getD();
    float getHX();
    float getHY();
    int getK();

    void setN(Ponto n);
    void setV(Ponto v);
    void setU(Ponto u);
    void setC(Ponto c);
    void setD(float d);
    void setHX(float hX);
    void setHY(float hY);
    void setK(int k);

    void translacaoN(bool sentido);
    void translacaoV(bool sentido);
    void translacaoU(bool sentido);

    void rotacaoN(float angulo);
    void rotacaoV(float angulo);
    void rotacaoU(float angulo);
};

#endif // CAMERA_H
